// 版权归Go作者所有。版权所有。
// 此源代码的使用受BSD样式
// 许可证的约束，该许可证可以在许可证文件中找到。

package cmplx

import "math"

// IsNaN报告实（x）或imag（x）是否为NaN 
// 且两者都不是无穷大。
func IsNaN(x complex128) bool {
	switch {
	case math.IsInf(real(x), 0) || math.IsInf(imag(x), 0):
		return false
	case math.IsNaN(real(x)) || math.IsNaN(imag(x)):
		return true
	}
	return false
}

// NaN返回一个复杂的“非数字”值。
func NaN() complex128 {
	nan := math.NaN()
	return complex(nan, nan)
}
